package com.appspot.bibtable.model.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import com.appspot.bibtable.model.format.DefaultInputParser;
import com.appspot.bibtable.model.format.InputParser;

@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Input
{
	AttributeValue name();

	InputType type() default InputType.SINGLE_LINE_TEXT;

	AttributeValue[] values() default { @AttributeValue(attribute = "", display = "") };

	Class<? extends InputParser> parser() default DefaultInputParser.class;
	
	boolean elementParserRequired() default false;

	Class<? extends InputParser> elementParser() default DefaultInputParser.class;
	
	String document() default "";
}
